package com.justech.eat.service;

import com.justech.common.vo.PageDto;
import com.justech.eat.controller.req.OrderDefaultSetReq;
import com.justech.eat.controller.req.OrderDetailReq;
import com.justech.eat.entity.Order;
import com.justech.eat.entity.OrderDefaultSet;
import com.justech.eat.entity.OrderDetailAbnormalRecord;

import java.util.List;

/**
 * @program: eat-service
 * @description: 订餐功能接口，面向用户端提供服务
 * @author: feifei.li
 * @create: 2020-05-28 13:45
 **/
public interface UserOrientedOrderService {

    /**
     * 查询员工当前月的报餐明细
     *
     * @param jobNumber
     * @return
     */
    List<Order> thisMonthOrders(String jobNumber);

    /**
     * 查询用户上个月的报餐明细
     *
     * @param jobNumber
     * @return
     */
    List<Order> previousMonthOrders(String jobNumber);

    /**
     * 获取某个用户区间内的报餐明细
     *
     * @param s         开始日期
     * @param e         结束日期
     * @param jobNumber 用户工号
     * @return
     */
    List<Order> getMonthOrders(String s, String e, String jobNumber);

    /**
     * 提交一日报餐信息
     *
     * @param orderDetailReq
     * @param jobNumber
     * @param date
     * @return
     */
    List<Order> book(OrderDetailReq orderDetailReq, String date, String jobNumber);

    /**
     * 设置默认报餐信息
     *
     * @param orderDefaultSetReq
     * @param jobNumber
     * @return
     */
    OrderDefaultSet defaultSet(OrderDefaultSetReq orderDefaultSetReq, String jobNumber);

    /**
     * 查询用户的异常信息
     *
     * @param jobNumber
     * @return
     */
    PageDto<OrderDetailAbnormalRecord> getAbnormalRecord(String jobNumber, Integer page, Integer size);

    /**
     * 查询用户的异常信息
     *
     * @param jobNumber
     * @return
     */
    PageDto<OrderDetailAbnormalRecord> getAbnormalRecordByDate(String jobNumber, String date, Integer page, Integer size);
}
